package com.net.xpay.core.service;

import com.net.xpay.alipay.common.model.AlipayTradeNotifyModel;
import com.net.xpay.common.domain.User;
import com.net.xpay.core.domain.ChargeRecord;
import com.net.xpay.core.model.AdminChargeModel;
import com.net.xpay.core.model.CancelChargeRecordModel;
import com.net.xpay.core.model.ChargeModel;

/**
 * 2020/5/12 14:35

 */
public interface ChargeService {

    //充值
    ChargeRecord doCharge(User user, ChargeModel chargeModel);

    void updateCharge(ChargeRecord chargeRecord);

    ChargeRecord doChargeByAdmin(AdminChargeModel chargeModel);

    void doChargeTransBatchByAdmin(AdminChargeModel chargeModel);

    //扫码付款或者电脑网站支付推送
    ChargeRecord onCommonPayNotify(AlipayTradeNotifyModel notifyModel);

    /**
     *作废充值记录
     */
    void cancelChargeRecord(CancelChargeRecordModel model);
}
